var pathRequestUrl;
var START_INDEX = 3;

Ext.onReady(function(){
    Ext.QuickTips.init();
    pathRequestUrl = 'ImportExcelSong_Data.php';
    
	var partnerRecord = [{
        name: 'partner_id',
        type: 'string'
    }, {
        name: 'partner_number',
        type: 'string'
    }, {
        name: 'partner_name',
        type: 'string'
    }];
    
    var partnerObj = Ext.data.Record.create(partnerRecord);
    
    var storePartner = new Ext.data.Store({
        reader: new Ext.data.JsonReader({
            root: 'data',
            totalProperty: 'count',
            id: 'partner_id'
        }, partnerObj),
        proxy: new Ext.data.HttpProxy({
            url: pathRequestUrl
        }),
        autoLoad: true
    });
    
    storePartner.on('beforeload', function(){
        storePartner.baseParams.action = 'getPartner';
    });
	
    var dataSinger = new Ext.FormPanel({
        frame: true,
        title: 'Import Excel kho bài hát',
        width: 600,
        renderTo: 'ListSongTables',
        iconCls: 'form-icon',
        url: pathRequestUrl,
        fileUpload: true,
        items: [{
            xtype: 'hidden',
            id: 'hiddenPartnerId',
            name: 'hiddenPartnerId'
        }, new Ext.form.ComboBox({
                    id: 'PartnerValue',
                    name: 'PartnerValue',
                    store: storePartner,
                    fieldLabel: 'Đối tác',
                    forceSelection: true,
                    displayField: 'partner_name',
            valueField: 'partner_id',
            allowBlank: false,
            typeAhead: true,
            mode: 'local',
            triggerAction: 'all',
            emptyText: 'Chọn đối tác',
            selectOnFocus: true,
            editable: false,
            width: 150,
            minListWidth: 300,
            lazyRender: true,
            selectOnFocus: true
        }), {
            width: 400,
            xtype: 'fileuploadfield',
            id: 'fileupload',
            emptyText: 'Chọn excel file',
            fieldLabel: 'Chọn file',
            name: 'fileupload',
            allowBlank: false,
            //accept: 'vnd.ms-excel',
            buttonCfg: {
                text: '',
                iconCls: 'upload-icon'
            },
            allowBlank: false,
            anchor: '95%'
        }, {
            xtype: 'radiogroup',
            fieldLabel: 'Loại sheet',
            width: 300,
            items: [{
                boxLabel: 'Một sheet',
                name: 'SheetType',
                inputValue: 1,
                checked: true
            }, {
                boxLabel: 'Nhiều sheet',
                name: 'SheetType',
                inputValue: 2
            }],
            listeners: {
                change: function(e){
                    if (e.getValue().inputValue == 1) {
                        Ext.getCmp('SheetIndex').setValue(0);
                        Ext.getCmp('SheetIndex').setDisabled(true);
                    }
                    else {
                        Ext.getCmp('SheetIndex').setDisabled(false);
                    }
                }
            }
        }, {
            xtype: 'numberfield',
            labelStyle: 'width:120',
            width: 90,
            name: 'SheetIndex',
            id: 'SheetIndex',
            fieldLabel: 'Sheet thứ',
            disabled: true,
            value: 0,
            allowBlank: false,
            minValue: 0
        }, {
            xtype: 'numberfield',
            labelStyle: 'width:120',
            width: 90,
            name: 'StartRow',
            id: 'StartRow',
            fieldLabel: 'Dòng bắt đầu',
            value: START_INDEX,
            allowBlank: false,
            minValue: 0
        }, {
            xtype: 'textarea',
            width: 480,
            height: 180,
            id: 'description',	
			name: 'description',		
            selectOnFocus: true,
            fieldLabel: 'Kết quả',
			editable: false
        }],
        buttons: [{
            text: 'Đồng ý',
            handler: function(){
                if (!dataSinger.getForm().isValid()) {
                    return;
                }
                try {
					Ext.getCmp('hiddenPartnerId').setValue(Ext.getCmp('PartnerValue').getValue());
                    dataSinger.getForm().submit({
                        method: 'POST',
                        success: function(f, a){
                            var result = Ext.util.JSON.decode(a.response.responseText);
                            msg('Thông tin', result.msg.content, Ext.MessageBox.INFO);
							Ext.getCmp('description').setValue(
								"+Số dòng đã xử lí: " + result.msg.affectRecord + "\n" + 
								"+Tổng số lỗi: " + result.msg.tongsoloi + "\n" + 
								"+Chi tiết lỗi: \n" + 
									"\t-Bài hát lỗi: " + result.msg.sobailoi + "\n" + 
									"\t-Chi tiết: " + result.msg.baihatloi + "\n" +
									"\t-Dòng lỗi: " + result.msg.sodongloi + "\n" + 
									"\t-Chi tiết: " + result.msg.dongloi);
                        },
                        failure: function(f, a){
                            var result = Ext.util.JSON.decode(a.response.responseText);
                            msg('Lỗi', result.msg.error, Ext.MessageBox.ERROR);							
                        }
                    });
                    execWithProgress('Đang trong quá trình xử lí.');
                } 
                catch (e) {
                    console.debug(e);
                }
            }
        }, {
            text: 'Hủy'
        }]
    });
});
